AWS Config有効化を実施する際に「the maximum number of delivery channels: 1 is reached」とのエラーが出てしまいました、対処方法を教えてください
困っていた内容
CDKを用いてAWSアカウントの全リージョンのConfigの有効化を行っているのですが、以下のようなエラーが出てしまいます。1リージョンでは成功するのですが、2リージョン目のConfigを設定しようとした際に発生しました。
Failed to put delivery channel 'AccountBaselineRegionStack-ap-northeast-2-ConfigDeliveryChannel-xxxxxxxxxx' because the maximum number of delivery chann els: 1 is reached. (Service: AmazonConfig; Status Code: 400; Error Code: MaxNumberOfDeliveryChannelsExceededException; Proxy: null)
どう対応すればいいの?
AWS コンソール現状確認
CloudFormationスタックの対象イベントタブにてで下記のエラーメッセージが出力されていることを確認しました。
AWSドキュメント確認
ConfigDeliveryChannelの上限について下記ドキュメントにも記載がございます通り、各リージョンに 1 つとなっており、こちらは上限緩和を不可となっております。
配信チャネルの管理 - AWS Config
配信チャネルは、各リージョンの AWS アカウントごとに 1 つに制限されており、AWS Config を使用するには配信チャネルが必要です。
発生原因
エラーメッセージから考えますと、既に AWS Config が有効化されている状態にて、 AWS Perspective のセットアップにて AWS Config を有効化しようとしてエラーが発生している可能性が考えられます。
具体的な対処法
下記実装AWS Perspective AWS 実装ガイドに記載通り、 AWS Config が有効化されている環境の場合には、 AlreadyHaveConfigSetup = Yes に設定してスタックを実行する必要があります。
上記の方法を参考に事象が改善されるかお試しください。
フィールド名 : AlreadyHaveConfigSetup
デフォルト : No
説明 : リージョンに AWS Config が既に有効になっているか確認します。AWS Config がこのリージョンで既に有効になっている場合は、Yes に設定します。
参考資料
[1]配信チャネルの管理 - AWS Config
[2]AWSマネジメントコンソールから消せないAWS Configの設定をAWSCLIで綺麗にする方法 | DevelopersIO
[3]AWS アーキテクチャー図 構成図を自動生成するソリューションを紹介します | DevelopersIO